function ajaxRequest(url, params) {
	if(typeof(params)=="undefined"){
		params = new Object();
	}
	var result;
	params._type="common_ajax";
	$.ajax({
		type : "POST",
		url : url,
		data : params,
		async : false,
		cache : false,
		dataType : 'json',
		success : function(data) {
			result = data;
		}
	});
	console.log(result);
	if(result._time_out==true){
		alert('该资源需登录后才能访问!');
		top.location='login';
	}else if (result != null && result._success == false) {
		showWarnAlert(result._message);
		throw new Error(result._message);
	} else {
		return result;
	}
}
//获取tab的元素，这样获取比$("#id")获取的好处是不会出现id重复问题，这种是从当前tab范围内获取的
function getObject(id) {
	var thistab = $('#tabs').tabs('getSelected');
	//先去判断是否在response如果在就去response里面的，最后再取主页面的
	var response = thistab.find("div[id='systemM_response']:last");
	if (response.length > 0) {
		var str = "[id='"+id+"']";
		var target = $(response[0]).find(str);
		if (target.length > 1) {
			alert("id  '"+id+"'  " + "重复");
			return false;
		} else {
			return $(target[0]);
		}
	} else {
		var str = "[id='"+id+"']";//这个地方可能是jquery的bug也有可能是easyui的bug，用find(#id）方式得到的结果不对，最后只能改一种方式了
		var target = thistab.find(str);
		if (target.length > 1) {
			alert("id  '"+id+"'  " + "重复");
			return false;
		} else {
			return $(target[0]);
		}
	}
}
//datagrid导出excel方法（通用）
function datagridExcelExp(realid) {
	var url = "datagrid/exportExcelData?_realid=" + realid;
	window.open(url);
}

//异步刷新datagrid
function asyRefreshDatagrid(id, url, queryParams) {
	var selector = getObject(id);
	var realid = selector.attr("_realid");//后台的真实id
	if(typeof(queryParams)=="undefined"){
		queryParams = new Object();
	}
	queryParams._realid = realid;
	queryParams._type ="_refreshDataGrid";

	//这个地方用延时的方式就是为了防止请求两次的问题
	window.setTimeout(function() {
		selector.datagrid("options").url = url;
		selector.datagrid("options").queryParams = queryParams;
		selector.datagrid("reload");
	}, 1);
	//重新定义分页处理的逻辑
	selector.datagrid("getPager").pagination({
		showRefresh:false,
		onSelectPage : function(PageIndex, pPageSize) {
			var returndata;
			$.ajax({
				type : "POST",
				url : 'datagrid/getPageData',
				data : {
					_realid : realid,
					pageindex : PageIndex,
					pagesize : pPageSize
				},
				async : false,
				success : function(data) {
					returndata =  data;
					selector.datagrid('loadData', {
						"total" : returndata.total,
						"rows" : returndata.rows
					});
				}
			});

		}
	});
}
//datagrid异步刷新完了之后提示的问题
function afterDataGridLoad(data) {
	if(data._time_out==true){
		alert('该资源需登录后才能访问!');
		top.location='login';
	}else if (data._success == false) {
		showWarnAlert(data._message);
	}
}
//关闭选中的tab页
function closeCurrentTab() {
	var tabs = $('#tabs');
	var thistab = $('#tabs').tabs('getSelected');
	var currentResponse = thistab.find("div[id='systemM_response']:last");//如果有response就关闭response
	if (currentResponse.length!=0) {
		$(currentResponse[0]).window("close");
	}else{
		var index = tabs.tabs('getTabIndex', thistab);
		tabs.tabs('close', index);
	}
}
//创建窗口
function createResponse(title, width, height, href, callbackmethod) {
	//所有的response都是建立在systemM_response之上的
	var currentTab = $('#tabs').tabs('getSelected');
	currentTab.append($("<div id='systemM_response'>" + "</div>"));
	var array = currentTab.find("div[id='systemM_response']:last");
	$(array[array.length-1]).window({
		href : href,
		title : title,
		width : width,
		height : height,
		modal : true,
		collapsible : false,
		minimizable : false,
		maximizable : false,
		draggable : true,
		resizable : true,
		shadow : true,
		inline:true,//只展示在父窗口
		onClose : function() {
			$(this).window("destroy");
			eval(callbackmethod);
		}
	});
}
//把form里面的值增加到param上,单选框复选框要在代码中处理一下，此方法不能处理
function addForm(param, formid) {
	var formObject = getObject(formid);
	var formarray = formObject.serializeArray();
	for (i = 0; i < formarray.length; i++) {
		param[formarray[i].name] = formarray[i].value;
	}
	return param;
}
function submitForm(id,url,callback) {
	if(!getObject(id).form('validate')){
		return;
	}
	var options = {
		success : function showResponse(responseText, statusText) {
			if (statusText == 'success') {
				if(responseText._success==false){
					showWarnAlert(responseText._message);
					return;
				}else{
					showWarnAlert("提交成功！");
					if(typeof(callback)!="undefined" && callback!=null&&callback!=""){
						var func = eval(callback);
					}
				}
			} else {
				showWarnAlert("提交失败！");
				return;
			}
		}, // 提交后的回调函数
		error:function(){
			showWarnAlert("提交失败！");
			return;
		},
		url : url, // 默认是form的action， 如果申明，则会覆盖
		dataType : 'json', // html(默认), xml, script, json...接受服务端返回的类型
		// clearForm: true, //成功提交后，清除所有表单元素的值
		// resetForm: true, //成功提交后，重置所有表单元素的值
		//timeout : 3000
	};
	getObject(id).ajaxSubmit(options);
	return false;
}
function getSelectedRow(datagridId){
	var row = getObject(datagridId).datagrid('getSelected');
	return row;
}
//此方法用于获取datagrid中该列是dropdown 的value值，比如性别
function getSelectRowDropDownValue(datagridId,filed){
	var dg = getObject(datagridId);
	var row = dg.datagrid('getSelected');
	if(!row){
		showWarnAlert("请选中后再操作!");
		return;
	}
	var index = dg.datagrid('getRowIndex', row);
	dg.datagrid("beginEdit", index);
	var ed = dg.datagrid('getEditor', {
		index : index,
		field : filed
	});
	var value = ed.target.combobox('getValue');
	dg.datagrid("endEdit", index);
	return value;
}
function showWarnAlert(message){
	$.messager.alert('信息',message,'warning');
}
